#include <stdio.h>
#include <string>
#include <algorithm>
using namespace std;
#define N 55
int n, pi[N*N], pj[N*N], m[N][N], di[]={-1, 1, 0, 0}, dj[]={0, 0, -1, 1};
char w[]="UDLR";
string s;
void mov(int k)
{
	int t;
	s+=w[k];
	pi[0]+=di[k];
	pj[0]+=dj[k];
	t=m[pi[0]][pj[0]];
	pi[t]-=di[k];
	pj[t]-=dj[k];
	swap(m[pi[0]][pj[0]], m[pi[t]][pj[t]]);
}
void up(int t, int i)
{
	for(; pi[t]>i; )
	{
		for(; pi[0]>pi[t]-1; mov(0));
		for(; pi[0]<pi[t]-1; mov(1));
		for(; pj[0]>pj[t]; mov(2));
		for(; pj[0]<pj[t]; mov(3));
		mov(1); mov(3);
	}
}
void left(int t, int j)
{
	for(; pj[t]>j; )
	{
		for(; pj[0]>pj[t]-1; mov(2));
		for(; pj[0]<pj[t]-1; mov(3));
		for(; pi[0]>pi[t]; mov(0));
		for(; pi[0]<pi[t]; mov(1));
		mov(3);
		if(pi[0]<n-1) mov(1);
		else mov(0);
	}
}
void right(int t, int j)
{
	for(; pj[t]<j; )
	{
		for(; pj[0]>pj[t]+1; mov(2));
		for(; pj[0]<pj[t]+1; mov(3));
		for(; pi[0]>pi[t]; mov(0));
		for(; pi[0]<pi[t]; mov(1));
		mov(2);
		if(pi[0]<n-1) mov(1);
		else mov(0);
	}
}
int main()
{
	int i, j, t;
	for(scanf("%d", &n), i=0; i<n; i++)
		for(j=0; j<n; scanf("%d", &m[i][j]), pi[m[i][j]]=i, pj[m[i][j]]=j, j++);
	for(i=0; i<n-2; i++)
	{
		for(j=0; j<n-1; t=i*n+j+1, right(t, j+1), left(t, j), up(t, i), j++);
		t=i*n+n;
		if(m[i][n-1]==t) continue;
		left(t, n-2); right(t, n-2);
		for(; pi[0]>i+1; mov(0));
		for(; pi[0]<i+1; mov(1));
		if(m[i][n-1]==t) continue;
		for(; pj[0]>0; mov(2));
		mov(0);
		for(; pj[0]<n-2; mov(3));
		left(t, n-2); up(t, i);
		for(; pj[0]<n-1; mov(3));
		for(; pi[0]>i; mov(0));
		for(; pj[0]>0; mov(2));
		mov(1);
	}
	for(j=0; j<n-2; j++)
	{

		t=(n-1)*n+j+1;
		left(t, j); up(t, n-2);
		if(pi[0]<n-1) mov(1);
		for(; pj[0]>j; mov(2));
		mov(3);
		t=(n-2)*n+j+1;
		if(m[n-1][j]==t)
		{
			mov(2); mov(0); mov(3); mov(3); mov(1); mov(2); j--;
		}
		else
		{
			left(t, j+1); up(t, n-2);
			if(pi[0]<n-1) mov(1);
			for(; pj[0]>j; mov(2));
			mov(0); mov(3);
		}
	}
	for(t=0; t<16; t++)
	{
		if(m[n-2][n-2]==(n-2)*n+n-1 && m[n-2][n-1]==(n-2)*n+n && m[n-1][n-2]==(n-1)*n+n-1) break;
		if(m[n-1][n-1]==0) mov(0);
		else if(m[n-2][n-2]==0) mov(1);
		else if(m[n-2][n-1]==0) mov(2);
		else mov(3);
	}
	if(t==16) printf("No\n");
	else printf("Yes\n%s\n", s.c_str());
	return 0;
}